package za.ac.wits.elen7045.persistence.model;

import java.util.Date;
import za.ac.wits.elen7045.persistence.PersistentObject;
import za.ac.wits.elen7045.persistence.util.DateUtilities;

public class Statement extends PersistentObject {

	protected int accountId;
	protected int statementNumber;
	protected String statementDate;	/* yyyyMMddHHmm */
	protected int openBalance;		/* amount: in cents */
	protected int closeBalance;		/* amount: in cents */
	protected int amountDue;		/* amount: in cents */
	protected String amountDueDate;	/* yyyyMMdd */
	protected int paymentReceived;	/* amount: in cents */
	protected int newCharges;		/* amount: in cents */
	protected int deductions;		/* amount: in cents */
	protected int discount;			/* amount: in cents */
	protected int vat;				/* amount: in cents */
	
	public int getAccountId() {
		return accountId;
	}

	public void setAccountId(int accountId) {
		this.accountId = accountId;
	}

	public int getStatementNumber() {
		return statementNumber;
	}
	
	public void setStatementNumber(int statementNumber) {
		this.statementNumber = statementNumber;
	}
	
	public String getStatementDate() {
		return statementDate;
	}
	
	public void setStatementDate(Date statementDate) {
		setStatementDate(DateUtilities.getLongDateAsString(statementDate));
	}
	
	public void setStatementDate(String statementDate) {
		this.statementDate = statementDate;
	}
	
	public int getOpenBalance() {
		return openBalance;
	}
	
	public void setOpenBalance(int openBalance) {
		this.openBalance = openBalance;
	}
	
	public int getCloseBalance() {
		return closeBalance;
	}
	
	public void setCloseBalance(int closeBalance) {
		this.closeBalance = closeBalance;
	}
	
	public int getAmountDue() {
		return amountDue;
	}
	
	public void setAmountDue(int amountDue) {
		this.amountDue = amountDue;
	}
	
	public String getAmountDueDate() {
		return amountDueDate;
	}
	
	public void setAmountDueDate(String amountDueDate) {
		this.amountDueDate = amountDueDate;
	}
	
	public int getPaymentReceived() {
		return paymentReceived;
	}
	
	public void setPaymentReceived(int paymentReceived) {
		this.paymentReceived = paymentReceived;
	}
	
	public int getNewCharges() {
		return newCharges;
	}
	
	public void setNewCharges(int newCharges) {
		this.newCharges = newCharges;
	}
	
	public int getDeductions() {
		return deductions;
	}
	
	public void setDeductions(int deductions) {
		this.deductions = deductions;
	}
	
	public int getDiscount() {
		return discount;
	}
	
	public void setDiscount(int discount) {
		this.discount = discount;
	}
	
	public int getVat() {
		return vat;
	}
	
	public void setVat(int vat) {
		this.vat = vat;
	}
	
}
